package com.zc58s.concurrent.executor.state;


/**
 * 此线程会在一个while(true)循环中，获取当前类Class对象的synchronized锁，
 * 也就是说，这个类无论创建多少个实例，synchronized锁都是同一个，并且线程会处于等待状态。
 * 接下来，在synchronized中使用当前类的Class对象的wait()方法，来验证线程的WAITING状态
 *
 * @author fujc-dev@qq.com
 */
public class WaitingState implements Runnable {

    @Override
    public void run() {
        while (true) {
            synchronized (WaitingState.class) {
                try {
                    WaitingState.class.wait();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
